ゼロから作るOS インターフェース
https://gyazo.com/9aff5e263a6d4c59ae75a50ef53046a2
|
1500行OS Try Kernel
アプリ
起動部
デバイスドライバ
ヘッダファイル
カーネル
リンカ スクリプト
動作プラットホーム ラズベリーパイPico
ソースコードをウェブで配布
IEEE2050-2018準拠
RTOS
タスク管理機能
タスク付属同期機能
イベント・フラグ
セマフォ
アプリケーションはAPIを呼び出して、タスクやイベントフラグ、セマフォなどを操作してOSの機能を利用します。このタスク、イベントフラグ、セマフォといった操作対象を、カーネルオブジェクトと呼ぶこととします。
カーネルオブジェクトはID番号で識別する
P33
言語 C
整数型の定義
APIの戻り値とエラーコード
P34
API処理
システムタイマ
スケジューラ
ディスパッチャ
ファイルの構成
開発環境の構築
Windows
Eclipse
PicoProbe
Linuxでもよい
起動処理
リセットハンドラ
ブートローダ
XIPの設定( eXecute-In-Place)
例外ベクタテーブル設定
ユーザ定義リセットハンドラ実行
リンカでメモリ配置を決定
起動処理のプログラム
LED点滅まで
クロックsの初期化
ペリフェラルの有効化
メモリセクションの初期化
タイマの初期化
main関数実行
プログラムのビルド方法
これでやっとランプが光っただけなのね
hello,world表示
デバッグ用UART出力プログラム
main関数を実行して、ハローワールドを表示
これで。。Windowsの通信ソフトに hello,Genocide worldて表示できるのね
まあどっちがいいかはお好みだが
ディスパッチャ プログラムの切り替え
スケジューラ 実行タスクの順番
システムタイマ
タスクの時間待ち機能
イベントフラグ 同期
セマフォ 排他制御
デバイスドライバ
センサとLCDを制御(ここで完成)